<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>数组的方法</title>
</head>
<body>
    
</body>
<script>
     var arr=[43,56,16,5,87,37,98,48,39];
     //数组后面添加元素
    arr.push(7);

    //数组删除最后一个元素，有返回值，返回值就是被删除的那个元素的值
    var newArr=arr.pop()

    //push和pop可以形成一个栈操作

    //在数组前面添加一个元素
    arr.unshift(8)
    //删除数组中第一个元素，返回值为该元素的值
    var rest=arr.shift()
    //unshift和shift为一对栈操作


    //向数组中任意位置添加一个元素并且从数组的任意位置删除元素
    //有三个参数:从哪个位置开始，删除几个元素，被删除的元素用什么进行替换
    arr.splice(2)//保留前两个元素
    arr.splice(2,1)//从索引为2的元素后面删除一个元素
    arr.splice(2,0,4)//从索引为2的元素后面删除零个元素，添加4，也就是插入4，只能插一个
   
    //数组中的元素顺序颠倒
    arr.reverse()

    // console.log_(arr)
    // console.log(newArr)
    // console.log(rest)
    //数组中所有的方法分为两大类：内处理和外处理
    //内处理方法：方法调用之后数组本身内容会发生变化
    //外处理方法：不会，执行的结果会通过函数返回值返回


    //join方法：将数组中的每一个元素强制转换成字符串，然后拼接成一个完整的字符串
    //参数是分隔符，默认参数是逗号
    var arr2=['-1','-2',-3,-5,-6];
    //('')意思是使用默认分隔符，分隔符在拼接时默认不参与拼接
    var str=arr2.join('');
    console.log(typeof(str))//String
    //拼接符不是默认的都参与拼接
    var str1=arr2.join('/');//

    //数组截取，第一个参数表示从第几个位置开始截取（包含开始位置），第二个参数表示截止到第几个位置（不包含）
    //位置就是索引值
    var arr3=[1,2,3,4,5,6,7,8,9];
    var arr4=arr3.slice(2,6);
    console.log("arr4="+arr4);

    //数组拼接
    var name='张'+'fei'
    var arr5=[1,2,3]
    var arr6=[4,5,6]
    var arr7=arr5.concat(arr6)//arr6添加到arr5的后面
    console.log("arr7="+arr7)
   


</script>
</html>